package com.ft.oa.domain.check;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ft.oa.domain.project.ExecProjectContract;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "exec_project_examine",autoResultMap = true)
public class Detail {
	
	 /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
	  private Long id;
	  /**
	   * 立项项目编码
	   */
	  private String projectNumber;
	  /**
	   * 立项项目名称
	   */
	  private String projectName;
	  /**
	   * 验收阶段Id
	   */
	  private Long checkStageId;
	  /**
	   * 验收阶段
	   */
	  private String checkStage;
	  /**
	   * 验收形式Id
	   */
	  private Long checkFormId;
	  /**
	   * 验收形式
	   */
	  private String checkForm;
	  /**
	   * 验收日期
	   */
	  @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
	  private LocalDateTime checkTime;
	  /**
	   * 回款金额
	   */
	  private BigDecimal returnedMoney;
	  /**
	   * 验收评价id
	   */
	  private Integer checkEvaluateId;
	  /**
	   * 验收评价
	   */
	  private String checkEvaluate;
	  /**
	   * 客户验收人员
	   */
	  private String customerName;
	  /**
	   * 联系方式
	   */
	  private String contact;
	  /**
	   * 验收负责人id
	   */
	  private Integer checkNameId;
	  /**
	   * 验收负责人
	   */
	  private String checkName;
	  /**
	   * 是否质保（1：是  0：否）
	   */
	  private Integer quality;
	  /**
	   * 是否有遗留问题（0：是  1：否）
	   */
	  @TableField(exist = false)
	  private String leftoverProblem;
	  /**
	   * 验收关联合同
	   */
	  private String checkContract;
	  /**
	   * 验收过程描述
	   */
	  private String checkDescr;
	  /**
	   * 数据状态
	   */
	  private Integer state;
	  /**
	   *  附件id
	   */
	  private String fileIds;
	  /**
	   * 项目验收遗留问题
	   */
	  @TableField(exist = false)
	  private List<ExecProjectProblem> execProjectProblems;

	  /**
	   *  合同信息
	   */
	  @TableField(exist = false)
	  List<ExecProjectContract> execProjectContract;

	  /**
	   * 文件归档情况
	   */
	  @TableField(exist = false)
	  private double fileDocument;

	  /**
	   * 合同总金额
	   */
	  @TableField(exist = false)
	  private BigDecimal totalMoney;

}
